As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Some information handling systems are manufactured using build-to-order manufacturing processes. As part of this process, datasets are typically downloaded to the information handling system. These datasets can include, for example, operating system software, application software, other software, data files and customer specific images or interfaces. This dataset download process can be implemented manually; however, it is more efficiently implemented through a network infrastructure such that a database of information provides the source for datasets being downloaded to the build-to-order information handling systems. One problem with current network infrastructures is the limited bandwidth provided between the server system, which controls the database, and the client machines to which datasets are being downloaded.
IP multicasting protocols, which are currently known and implemented by a variety of vendors, enable a file server to send a single copy of a file to multiple clients simultaneously. As such, multicasting can be far more efficient than requiring the server to send an individual copy of a file to each client (often referred to as point-to-point unicast). With respect to this point-to-point unicast, the number of clients is restricted by the amount of bandwidth available to the server, as each client will consume an equal amount of the bandwidth available. As more clients attach to the server the download speed decreases dramatically. With IP multicast only one stream of data is sent out for all clients, therefore there is no limit to the number of clients that can download a file from the server at the same time. Also, the reduced usage in bandwidth can result in faster download speeds. Although several third-party software installation tools or hard disk imaging tools exist which support IP multicast (e.g., Ghost, PowerQuest, ImageCast, Rembo and OmniCast), none of these tools provide a method to resolve automatically the unique set of parameters that are needed for each session in a build-to-order manufacturing process. Although these tools provide either a programming interface or a command-line interface, the person using these tools must manually provide the session parameters for each multicast session. As such, these prior multicast tools are suited only to large pre-scheduled downloads where one is guaranteed that all clients are available to perform the download at a specified time. In a build-to-order manufacturing process, or other environments where the clients to participate are not known in advance, the existing IP multicast tools do not provide an adequate solution to software downloads.